package com.ars.sirproj.dto;
// Generated 26-feb-2014 12:16:25 by Hibernate Tools 3.6.0


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Cliente generated by hbm2java
 */
@Entity
@Table(name="cliente"
    ,schema="public"
)
public class Cliente  implements java.io.Serializable {


     private int idCliente;
     private Ocupacion ocupacion;
     private String codCliente;
     private String primernombre;
     private String segundonombre;
     private String tercernombre;
     private String primerapellido;
     private String segundoapellido;
     private String dui;
     private String nit;
     private Integer estadocivil;
     private String email;
     private Date fechanac;
     private char estado;
     private Set<Direccioncliente> direccionclientes = new HashSet(0);
     private Set<Proceso> procesos = new HashSet(0);
     private Set<Telefonocliente> telefonoclientes = new HashSet(0);

    public Cliente() {
    }

	
    public Cliente(int idCliente, String codCliente, String primernombre, String primerapellido, String dui, String nit, char estado) {
        this.idCliente = idCliente;
        this.codCliente = codCliente;
        this.primernombre = primernombre;
        this.primerapellido = primerapellido;
        this.dui = dui;
        this.nit = nit;
        this.estado = estado;
    }
    public Cliente(int idCliente, Ocupacion ocupacion, String codCliente, String primernombre, String segundonombre, String tercernombre, String primerapellido, String segundoapellido, String dui, String nit, Integer estadocivil, String email, Date fechanac, char estado, Set<Direccioncliente> direccionclientes, Set<Proceso> procesos, Set<Telefonocliente> telefonoclientes) {
       this.idCliente = idCliente;
       this.ocupacion = ocupacion;
       this.codCliente = codCliente;
       this.primernombre = primernombre;
       this.segundonombre = segundonombre;
       this.tercernombre = tercernombre;
       this.primerapellido = primerapellido;
       this.segundoapellido = segundoapellido;
       this.dui = dui;
       this.nit = nit;
       this.estadocivil = estadocivil;
       this.email = email;
       this.fechanac = fechanac;
       this.estado = estado;
       this.direccionclientes = direccionclientes;
       this.procesos = procesos;
       this.telefonoclientes = telefonoclientes;
    }
   
     @Id 

    
    @Column(name="id_cliente", unique=true, nullable=false)
    public int getIdCliente() {
        return this.idCliente;
    }
    
    public void setIdCliente(int idCliente) {
        this.idCliente = idCliente;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_ocupacion")
    public Ocupacion getOcupacion() {
        return this.ocupacion;
    }
    
    public void setOcupacion(Ocupacion ocupacion) {
        this.ocupacion = ocupacion;
    }

    
    @Column(name="cod_cliente", nullable=false, length=30)
    public String getCodCliente() {
        return this.codCliente;
    }
    
    public void setCodCliente(String codCliente) {
        this.codCliente = codCliente;
    }

    
    @Column(name="primernombre", nullable=false, length=60)
    public String getPrimernombre() {
        return this.primernombre;
    }
    
    public void setPrimernombre(String primernombre) {
        this.primernombre = primernombre;
    }

    
    @Column(name="segundonombre", length=60)
    public String getSegundonombre() {
        return this.segundonombre;
    }
    
    public void setSegundonombre(String segundonombre) {
        this.segundonombre = segundonombre;
    }

    
    @Column(name="tercernombre", length=60)
    public String getTercernombre() {
        return this.tercernombre;
    }
    
    public void setTercernombre(String tercernombre) {
        this.tercernombre = tercernombre;
    }

    
    @Column(name="primerapellido", nullable=false, length=60)
    public String getPrimerapellido() {
        return this.primerapellido;
    }
    
    public void setPrimerapellido(String primerapellido) {
        this.primerapellido = primerapellido;
    }

    
    @Column(name="segundoapellido", length=60)
    public String getSegundoapellido() {
        return this.segundoapellido;
    }
    
    public void setSegundoapellido(String segundoapellido) {
        this.segundoapellido = segundoapellido;
    }

    
    @Column(name="dui", nullable=false, length=20)
    public String getDui() {
        return this.dui;
    }
    
    public void setDui(String dui) {
        this.dui = dui;
    }

    
    @Column(name="nit", nullable=false, length=20)
    public String getNit() {
        return this.nit;
    }
    
    public void setNit(String nit) {
        this.nit = nit;
    }

    
    @Column(name="estadocivil")
    public Integer getEstadocivil() {
        return this.estadocivil;
    }
    
    public void setEstadocivil(Integer estadocivil) {
        this.estadocivil = estadocivil;
    }

    
    @Column(name="email", length=80)
    public String getEmail() {
        return this.email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="fechanac", length=13)
    public Date getFechanac() {
        return this.fechanac;
    }
    
    public void setFechanac(Date fechanac) {
        this.fechanac = fechanac;
    }

    
    @Column(name="estado", nullable=false, length=1)
    public char getEstado() {
        return this.estado;
    }
    
    public void setEstado(char estado) {
        this.estado = estado;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="cliente")
    public Set<Direccioncliente> getDireccionclientes() {
        return this.direccionclientes;
    }
    
    public void setDireccionclientes(Set<Direccioncliente> direccionclientes) {
        this.direccionclientes = direccionclientes;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="cliente")
    public Set<Proceso> getProcesos() {
        return this.procesos;
    }
    
    public void setProcesos(Set<Proceso> procesos) {
        this.procesos = procesos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="cliente")
    public Set<Telefonocliente> getTelefonoclientes() {
        return this.telefonoclientes;
    }
    
    public void setTelefonoclientes(Set<Telefonocliente> telefonoclientes) {
        this.telefonoclientes = telefonoclientes;
    }




}


